package com.ng.model.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 用户表 VO
 *
 * @author Ng
 * @date 2024/03/07
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "用户", description = "用户 VO")
public class UserVO implements Serializable {

    @ApiModelProperty(value = "用户 ID")
    private Long userId;

    @ApiModelProperty(value = "账号")
    private String userName;

    @ApiModelProperty(value = "密码")
    private String passWord;

    @ApiModelProperty(value = "类型 0:管理员 1:注册用户 2:访客")
    private Short type;

    @ApiModelProperty(value = "昵称")
    private String name;

    @ApiModelProperty(value = "性别 0:男 1:女 2:未知")
    private Short sex;

    @ApiModelProperty(value = "手机")
    private String phone;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "头像路径")
    private String avatar;

    @ApiModelProperty(value = "账号状态 0:正常 1:禁用")
    private Short status;

    @ApiModelProperty(value = "删除标志 0:正常 1:删除")
    private Short deleteFlag;

    @ApiModelProperty(value = "登录 IP")
    private String loginIp;

    @ApiModelProperty(value = "登录时间")
    private LocalDateTime loginTime;

    @ApiModelProperty(value = "密码更新时间")
    private LocalDateTime pwdUpdateTime;

    @ApiModelProperty(value = "描述")
    private String description;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "修改时间")
    private LocalDateTime changeTime;

    @ApiModelProperty(value = "创建人")
    private String createBy;

    @ApiModelProperty(value = "修改人")
    private String changeBy;
}
